#ifndef __CSYSTEM_H__
#define __CSYSTEM_H__

#include "GSSystem_globals.h"

class CSystem: public ISystem
{
public:

	CSystem();

	virtual ~CSystem();

	bool init();

	bool shutdown();

	void testMem();

	void * sysAlloc(size_t size);

	size_t sysFree(void * p);

	void sysMemInfo();

	SSystemGlobalEnvironment * getSystemGlobalEnvironment();
	CMetaClassRegistry * getMetaClassRegistry();

private:

	int _allocated;
	int _num_allocs;
	int _num_frees;

	CMetaClassRegistry * _metaclass_registry;
	bool _is_inited;
};

#endif // __CSYSTEM_H__